package com.paradogs.gs.misc.annotations;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author: yumi
 * @date: 2024/10/24  23:25
 * @Description: TODO
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Component
@Scope("prototype")
public @interface GameManager {

    // 数据 db 间隔时间, System.currentTimeMillis() - lastDB > gameManager.dbFixedRate()
    // 立即写入变化才需要这个，定期保存 dirty 的方式不需要
    long dbFixedRate() default 0L;

    // 是否需要状态同步
    boolean sync() default true;

}
